class Creature:
    def __init__(self,classify,type):
        self.classify=classify
        self.type=type

    def describe_creature(self):
        print(f"{self.classify} is a  {self.type}.")           

class Magical(Creature):
    def __init__(self,classify,type,name, powers):
        super().__init__(classify,type)
        self.name = name
        self.powers=Powers(powers)

    def describe_magic_creature(self): 
        print("========================================")
        print(f"Classification={self.classify}")  
        print(f"Type={self.type}")  
        print(f"Name={self.name}")  
        self.powers.show_powers()   
        print("========================================")
  
class Powers:
    def __init__(self,superpower):
        self.superpower=superpower

    def show_powers(self):
        print(f"The being has the following powers")
        for p in self.superpower:
            print(p.title()) 

number = input("How many creatures would you like to enter?")
number = int(number)
counter=0
creatureList=[]
while counter<number:
    c = input("Creature classification: ") 
    t = input("Creature type: ")   
    n = input("Enter the creature's name: ")   
    p = input("Enter the creature's powers (q to quit) ")
    tempList=[]
    while p!="q":
        tempList.append(p)
        p = input("Enter the creature's powers (q to quit) ")
    new_creature = Magical(c,t,n,tempList)
    creatureList.append(new_creature)
    counter += 1

for creature in creatureList:
    creature.describe_magic_creature()